using Jupiter.Infrastructure.Responses;
using SOP.DataTransfer.AppService.Authorities.Roles.Requests;
using Wips.AppService.Authorities.Roles.Responses;
using Wips.AppService.Authorities.Roles.ViewModels;
using Wips.AppService.CommonViewModels;

namespace Wips.AppService.Authorities.Roles
{
    /// <summary>
    /// 角色服务接口
    /// </summary>
    public interface IRoleService
    {

        /// <summary>
        /// 读取分页列表
        /// </summary>
        /// <param name="request">请求类</param>
        /// <returns></returns>
        Task<PageResult<GetRolePagesResponse>> GetPagesAsync(GetRolePagesRequest request);

        /// <summary>
        /// 读取信息
        /// </summary>
        /// <param name="id">Id</param>
        /// <returns></returns>
        Task<RoleViewModel> GetByIdAsync(string id);

        /// <summary>
        /// 读取角色数据
        /// </summary>
        /// <returns></returns>
        Task<List<SelectViewModel>> GetSelectDataAsync();

        /// <summary>
        /// 根据职位Id读取角色Id列表
        /// </summary>
        /// <param name="positionId">职位Id</param>
        /// <returns></returns>
        Task<List<string>> GetIdsByPositionIdAsync(string positionId);

       
    }
}